1. Field of the Invention
The present invention relates to a method and a system for distributing encrypted executable programs through a public network such as Internet to hardware devices with built-in microprocessors such as PCs.
2. Description of the Background Art
In recent years, the performance of a microprocessor has improved considerably such that the microprocessor is capable of realizing reproduction and editing of video images and audio sounds, in addition to the conventional functions such as computations and graphics. By implementing such a microprocessor in a system designed for end-user (which will be referred to as PC hereafter), the users can enjoy various video images and audio sounds on monitors. Also, by combing the function for reproducing video images and audio sounds with the computational power of the PC, the applicability to games or the like can be improved. Such a microprocessor is not designed for any specific hardware and can be implemented in a variety of hardwares so that there is an advantage that the users who already possess PCs can enjoy reproduction and editing of video images and audio sounds inexpensively by simply changing a microprocessor for executing programs.
In the case of handling video images and audio sounds on PCs, there arises a problem of a protection of the copyright of original images or music. In the MD or digital video playback devices, unlimited copies can be prevented by implementing a mechanism for preventing the illegal copying in these devices in advance. It is rather rare to attempt the illegal copying by disassembling and altering these devices, and even if such devices are made, there is a worldwide trend for prohibiting the manufacturing and sales of devices altered for the purpose of illegal copying by laws. Consequently, damages due to the hardware based illegal copying are not very serious.
However, image data and music data are actually processed on the PC by the software rather than the hardware, and the end-user can freely alter the software on the PC. Namely, if the user has some level of knowledge, it is quite feasible to carry out the illegal copying by analyzing programs and rewriting the executable software. In addition, there is a problem that the software for illegal copying so produced can be spread very quickly through media such as networks, unlike the hardware.
In order to resolve these problems, there are propositions of a microprocessor having a function for preventing the analysis and the alteration of programs (R. Hartman, U.S. Pat. No. 5,224,166; T. Gilmont, et al., “Hardware Security for Software Privacy Support”, Electronic Letters, Vol. 35, No. 24, pp. 2096-2098, November 1999; M. Hashimoto, et al., Japanese Patent Application No. 2000-135010). In particular, in the microproccessor proposed by Japanese Patent Application No. 2000-135010, programs are protected from the analysis and the alteration by encrypting all of instructions, execution states and data which are three types of elements constituting programs in the multi-task environment.
In these microprocessors, a secret key and a decryption function using the secret key are provided inside the processor such that encrypted programs can be read from an external processor, decrypted and executed either directly or indirectly by using a public key corresponding to the secret key. Using these microprocessors, the analysis and the alteration of programs can be made considerably more difficult in principle, compared with the tamper resistant software technique. A microprocessor having this function will be referred to as a tamper resistant microprocessor in the following.
Now, in the case of using these processors, programs must be provided from program vendors in a state of being encrypted by using a public key of the processor either directly or indirectly. However, there is no known scheme for realizing such a program distribution safely.